home *** CD-ROM | disk | FTP | other *** search
- unit BMListU1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, ComCtrls, StdCtrls,
- Buttons;
-
- type
- TfrmMain = class(TForm)
- Table1: TTable;
- DataSource1: TDataSource;
- Timer1: TTimer;
- StatusBar1: TStatusBar;
- Database1: TDatabase;
- GroupBox1: TGroupBox;
- btnParadox: TBitBtn;
- btnInterbase: TBitBtn;
- btnOpenClose: TBitBtn;
- GroupBox2: TGroupBox;
- btnDeleteSelections: TBitBtn;
- btnSelectCurrent: TBitBtn;
- btnCopySelect: TBitBtn;
- GroupBox3: TGroupBox;
- DBNavigator1: TDBNavigator;
- DBGrid1: TDBGrid;
- GroupBox4: TGroupBox;
- ListBox1: TListBox;
- procedure StatusBar1Resize(Sender: TObject);
- procedure FormResize(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- procedure FormShow(Sender: TObject);
- procedure FormHide(Sender: TObject);
- procedure btnOpenCloseClick(Sender: TObject);
- procedure btnSelectCurrentClick(Sender: TObject);
- procedure btnCopySelectClick(Sender: TObject);
- procedure btnParadoxClick(Sender: TObject);
- procedure btnInterbaseClick(Sender: TObject);
- procedure btnDeleteSelectionsClick(Sender: TObject);
- private
- { Private declarations }
- fborderwidth:integer;
- public
- { Public declarations }
- end;
-
- var
- frmMain: TfrmMain;
-
- implementation
-
- uses ProgressFrm;
-
- {$R *.DFM}
-
- procedure TfrmMain.StatusBar1Resize(Sender: TObject);
- begin
- // Resize the left hand panel.
- StatusBar1.Panels[0].Width:=frmMain.ClientWidth-30;
- end;
-
- procedure TfrmMain.FormResize(Sender: TObject);
- var
- i:integer;
- begin
- i:=Listbox1.Left+Listbox1.width+10;
- with TfrmMain(Sender) do
- begin
- if (width -FBorderWidth)<i then
- Width:=i + FBorderWidth;
- end;
- end;
-
- procedure TfrmMain.FormCreate(Sender: TObject);
- begin
- if sender is TfrmMain then
- with TfrmMain(Sender) do
- fborderwidth:=(Width-ClientWidth);
- end;
-
- procedure TfrmMain.Timer1Timer(Sender: TObject);
- begin
- StatusBar1.Panels[1].Text:=IntToStr(DBGrid1.SelectedRows.Count);
- end;
-
- procedure TfrmMain.FormShow(Sender: TObject);
- begin
- Timer1.Enabled:=True;
- end;
-
- procedure TfrmMain.FormHide(Sender: TObject);
- begin
- Timer1.Enabled:=False;
- end;
-
- procedure TfrmMain.btnOpenCloseClick(Sender: TObject);
- begin
- try
- Table1.Active:=not Table1.Active;
- if (not Table1.Active) and (table1.DatabaseName='d1') then
- Database1.Connected:=False;
- except
- MessageDlg('Select a table first',mtError,[mbOK],0);
- end;
- end;
-
- procedure TfrmMain.btnSelectCurrentClick(Sender: TObject);
- begin
- with DBGrid1.SelectedRows do
- CurrentRowSelected:=not CurrentRowSelected;
- end;
-
- procedure TfrmMain.btnDeleteSelectionsClick(Sender: TObject);
- begin
- DBGrid1.SelectedRows.Delete;
- end;
-
- procedure TfrmMain.btnCopySelectClick(Sender: TObject);
- procedure AddToList;
- var
- i:integer;
- s:string;
- begin
- with DBGrid1.DataSource.DataSet do
- for i:=0 to FieldCount-1 do
- begin
- if (i>0) then
- s:=s+', ';
- s:=s+Fields[i].AsString;
- end;
- Listbox1.Items.Add(s);
- end;
- var
- i:integer;
- MyBookmark:TBookmark;
- begin
- Listbox1.Clear;
- MyBookmark:=Nil;
- if DBGrid1.SelectedRows.Count>0 then
- try
- frmProgress.Max:=DBGrid1.SelectedRows.Count;
- frmProgress.Progress:=0;
- frmProgress.Show;
- with DBGrid1.DataSource.DataSet do
- begin
- MyBookmark:=GetBookmark;
- for i:=0 to DBGrid1.SelectedRows.Count-1 do
- begin
- GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
- AddToList;
- frmProgress.Inc;
- end;
- GotoBookmark(MyBookmark);
- end;
- finally
- frmProgress.Hide;
- if Assigned(MyBookmark) then
- DBGrid1.DataSource.DataSet.FreeBookmark(MyBookmark);
- end;
- end;
-
- procedure TfrmMain.btnParadoxClick(Sender: TObject);
- begin
- if Table1.Active then btnOpenClose.Click;
- with Table1 do
- begin
- DatabaseName:=ExtractFilePath(Application.ExeName);
- TableName:='Animal.db';
- TableType:=ttParadox;
- end;
- end;
-
- procedure TfrmMain.btnInterbaseClick(Sender: TObject);
- begin
- if Table1.Active then btnOpenClose.Click;
- if Database1.Connected then Database1.Connected:=False;
- Database1.Params.Values['SERVER NAME']:=ExtractFilePath(Application.ExeName)
- +'Animals.gdb';
- with Table1 do
- begin
- DatabaseName:='d1';
- TableName:='Animals';
- TableType:=ttDefault;
- end;
- end;
-
- end.
-
-